* lisp/emacs-lisp/cconv.el (cconv-convert): Check form of let binding.
authorNathan Trapuzzano <nbtrap@nbtrap.com>
Mon, 4 Nov 2013 19:48:07 +0000 (14:48 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Nov 2013 19:48:07 +0000 (14:48 -0500)
lisp/ChangeLog
lisp/emacs-lisp/cconv.el

index a580e622e7641b4d52e650f92a1ced4634054c79..66ef3d8e4bc7d07c6fe479dbd0e9f04ec44eb1c6 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-04  Nathan Trapuzzano  <nbtrap@nbtrap.com>  (tiny change)
+
+       * emacs-lisp/cconv.el (cconv-convert): Check form of let binding
+       (bug#15786).
+
 2013-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/helpers.el: Move from helpers.el.  Use lexical-binding.
index f24e503fd6d80b5a1da370ed6aaa279b2ff140d9..2a236b35e5673b8e1a81434d878fe09f98c129b1 100644 (file)
@@ -289,12 +289,15 @@ places where they originally did not directly appear."
 
        (dolist (binder binders)
          (let* ((value nil)
-                (var (if (not (consp binder))
-                         (prog1 binder (setq binder (list binder)))
-                       (setq value (cadr binder))
-                       (car binder)))
-                (new-val
-                 (cond
+               (var (if (not (consp binder))
+                        (prog1 binder (setq binder (list binder)))
+                      (cl-assert (null (cdr (cdr binder))) nil
+                                 "malformed let binding: `%s'"
+                                  (prin1-to-string binder))
+                      (setq value (cadr binder))
+                      (car binder)))
+               (new-val
+                (cond
                   ;; Check if var is a candidate for lambda lifting.
                   ((and (member (cons binder form) cconv-lambda-candidates)
                         (progn